all: walle
CXX = g++

OFLAGS = -Wall -O2 -Wno-sign-compare

walle: main.o evaluate.o parser.o manipulate.o density.o\
 		manipulate_check.o utility.o density_check.o\
 		manipulate_util.o global.o
	$(CXX) $(OFLAGS) main.o evaluate.o parser.o manipulate.o\
	 manipulate_check.o density.o utility.o \
	 manipulate_util.o global.o density_check.o -o walle

main.o: main.cpp evaluate.h
	$(CXX) $(OFLAGS) -c main.cpp

evaluate.o: evaluate.cpp evaluate.h
	$(CXX) $(OFLAGS) -c evaluate.cpp

parser.o: parser.cpp evaluate.h
	$(CXX) $(OFLAGS) -c parser.cpp

manipulate.o: manipulate.cpp evaluate.h
	$(CXX) $(OFLAGS) -c manipulate.cpp

manipulate_check.o: manipulate_check.cpp evaluate.h
	$(CXX) $(OFLAGS) -c manipulate_check.cpp

density.o: density.cpp evaluate.h
	$(CXX) $(OFLAGS) -c density.cpp

utility.o: utility.cpp evaluate.h
	$(CXX) $(OFLAGS) -c utility.cpp

density_check.o: density_check.cpp evaluate.h
	$(CXX) $(OFLAGS) -c density_check.cpp

global.o: global.cpp evaluate.h
	$(CXX) $(OFLAGS) -c global.cpp

manipulate_util.o: manipulate_util.cpp evaluate.h
	$(CXX) $(OFLAGS) -c manipulate_util.cpp


clean:
	/bin/rm -f evaluate.o parser.o main.o manipulate.o density.o utility.o\
	 global.o manipulate_util.o manipulate_check.o density_check.o\
	  walle evaluate.h.gch
